/**
 * 获取应用根地址
 * @returns {string}
 */
function getRootPath() {
    var _href = window.document.location.href;
    var _path = window.document.location.pathname;
    return(_href.substring(0, _href.indexOf(_path)) + _path.substring(0, _path.substr(1).indexOf('/') + 1)) + "/";
}
/**
 * 格式化Url<br>
 * 多个参数必须以键值对形式出现<br>
 * 示例: formatUrl("/index",name,tom,status,online)</br>
 * 格式化后输出结果为：http://{host}/{root}/index?name=tom&status=online
 * @param url
 *            资源路径
 * @returns {String} 包含域名信息URL
 */
function formatUrl(url) {
    var _url = getRootPath();
    _url = 0 === url.indexOf("/") ? (_url + url.replace("/", "")) : (_url + url);
    var _len = arguments.length;
    if (_len > 2) _url += "?";
    for (var i = 1; i < _len; i + 2) {
        if (arguments[i] && "string" === typeof (arguments[i])) {
            _url += "&" + arguments[i] + "=" + arguments[i + 1];
        }
    }
    return encodeURI(_url);
}
/**
 * 格式化REST风格URL，多个参数将以/拼接
 * 示例: formatUrl("/index",user,tom)</br>
 * 格式化后输出结果为：http://{host}/{root}/index/user/tom
 * @param url 资源路径地址
 * @returns {string}
 */
function formatRestUrl(url) {
    var _url = getRootPath();
    _url = 0 === url.indexOf("/") ? (_url + url.replace("/", "")) : (_url + url);
    for (i in arguments) {
        if (i < 1) continue;
        if (arguments[i] && "string" === typeof (arguments[i])) {
            _url += "/" + arguments[i];
        }
    }
    return encodeURI(_url);
}
/**
 * 初始化全局变量
 * @param userId 用户ID
 * @returns {*}
 */
function initSession(userId) {
    var _session = sessionStorage.getItem("_SESSION_" + userId);
    if (_session) {
        try {
            _SESSION = JSON.parse(_session);
        } catch (ex) {
            alert(ex);
        }
    } else {
        $.ajax({
            url: formatRestUrl('merchant/ajax', userId),
            type: "get",
            dataType: "json",
            async: false,
            success: function (res, st, xhr) {
                if (res.succ) {
                    if (200 === res.code) {
                        _SESSION = {"merchant": res.data.merchant, "channel": res.data.channels, "time": new Date().getTime()};
                        sessionStorage.setItem("_SESSION_" + userId, JSON.stringify(_SESSION));
                    } else {
                        alert(res.err);
                    }
                } else {
                    alert("初始化客户信息失败");
                }
            }
        });
    }
}
/**
 * 获取URL地址参数
 * @param name
 * @returns {string}
 */
function getParam(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
    var r = window.location.search.substr(1).match(reg);
    return r ? decodeURIComponent(r[2]) : null
}
/**
 *只能输入数字
 */
function inputNum() {
    if (!((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105)))
        event.returnValue = false;
}